<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>

  <body>
    <script>
      /*
            Promise虽然是解决了异步回调的嵌套问题，但是使用起来  比较麻烦

            后来 在语法法上 进行了 简化
                async + await
        */

      // // 1. 使用 async 关键字 修饰 一个函数
      // async function fn() {
      //     // 2. 在 async函数里面使用 await
      //     let Promise的resovle的结果 = await Promise实例对象
      // }

      // // 3 调用fn
      // fn()

      // let p1 = new Promise((resolve, reject) => {
      //     console.log('promise1');
      //     setTimeout(() => {
      //         resolve()
      //     }, 1000);
      // })
      // let p2 = new Promise((resolve, reject) => {
      //     console.log('promise2');
      //     setTimeout(() => {
      //         resolve()
      //     }, 1000);
      // })

      function pp(timeout) {
        let p = new Promise((resovle, reject) => {
          setTimeout(() => {
            resovle()
          }, timeout);
        })
        return p
      }

      async function fn() {
        await pp(1000)
        console.log(1)
        await pp(1000)
        console.log(2);
      }
      fn()
    </script>
  </body>

</html>